
local CommonOHOH=_G.CommonOHOH
local recipe_cfg=_G.CommonOHOH.config.Recipe
-- 1:钻头，2：车轮，3：车身，4：推进器：5 装饰

local asset={
    [1]="ReplicatedStorage.Resource.Relics",
   -- [2]="ReplicatedStorage.Sacrifice",
}



local RecipeImageBuff={}
local RecipeModelBuff={}

local M={}



--根据carId，获取部件id（配置表中的Id和品阶Id（1：正常:2：闪亮:3：彩虹:4：虚空）
-- function M.GetPartIdAndGrade(carId)

--     local arg=string.split(carId,"_")
--     return tonumber(arg[1]), tonumber(arg[2])

-- end

-- --根据品阶重新计算部件的数值
-- function M.UpdateCalculateValue(data)
--     -- CommonOHOH:PrintTable(data)
--     local list={}
--     for _,v in ipairs(data.value) do
--        table.insert(list,gradeValueBoost[data.gradeId]*v)
--     end

--     return list
-- end
-- --根据品阶重新计算部件的随机权重
-- function M.UpdateCalculateWeight(data)
--     -- CommonOHOH:PrintTable(data)
--     return gradeWightBoost[data.gradeId]*data.weight
-- end


-- ----------------------------------------------以下为公开接口------------------------------------------------------------------

-- --传入部件和品阶Id，生成存入数据库的汽车Id
-- function M.GetCarId(partId,grade)
--     return partId.."_"..grade
-- end


--获取部件图片,参数：carId


-- --创建部件模型，参数：cartId
-- function M.CreatePartModel(carId)
--     local data=M.GetPartCfgData(carId,true)
--     if CarPartModelBuff[data.id] then
--         return CarPartModelBuff[data.id]:Clone()
--     end
--     assert(data," info is Null"..carId)
--     local path= string.format("%s.%s.Model",asset[data.type],data.asset)
--     local Model= CommonOHOH:GetPath_Loop(path)
--     CarPartModelBuff[data.id]=Model
--     return CarPartModelBuff[data.id]:Clone()
-- end



-- --获取配方配置数据，参数：cartId
function M.GetRecipeCfgData(treaId) 
    local data = recipe_cfg[treaId]
    return data
end

--通过ID获取遗物ItemType
function M.GetRecipeItemTypeById(treaId)
    local data=M.GetRecipeCfgData(treaId)
    assert(data," info is Null"..treaId)
    return data.itemType
end


--获取遗物图片
function M.GetRecipeImage(treaId)
    local data=M.GetRecipeCfgData(treaId)
    assert(data," info is Null"..treaId)
    if RecipeImageBuff[data.id] then
        return  RecipeImageBuff[data.id]
    end
    local path= string.format("%s.%s.%s.img",asset[data.type],data.itemType,data.asset)
    local icon= CommonOHOH:GetPath_Loop(path)
    RecipeImageBuff[data.id]=icon.Texture
    return RecipeImageBuff[data.id]
end
--获取遗物模型
function M.GetRecipeModel(treaId)
    local data=M.GetRecipeCfgData(treaId)
    assert(data," info is Null"..treaId)
    if RecipeModelBuff[data.id] then
        return  RecipeModelBuff[data.id]
    end
    local path= string.format("%s.%s.%s.Accessory",asset[data.type],data.itemType,data.asset)
    local accessory= CommonOHOH:GetPath_Loop(path)
    RecipeModelBuff[data.id]=accessory
    return RecipeModelBuff[data.id]
end

--（重要）获取部件所有数值，参数：cartId
function M.GetRecipeAllInfo(treaId)
    return {
        cfg=M.GetRecipeCfgData(treaId),
        img=M.GetRecipeImage(treaId),
        -- model=M.CreatePartModel(treaId),
    }
end


return M